/**

 * @File definingCurrenciesDaoImpl.java
 * @author Dhruv Bhandari
 * @Version 1.0
 * @Date July 27, 2013
 * 
 * Copyright (c) 2011 EdRP, Dayalbagh Educational Institute.
 * All Rights Reserved.
 *
 * Redistribution and use in source and binary forms, with or
 * without modification, are permitted provided that the following
 * conditions are met:
 *
 * Redistributions of source code must retain the above copyright
 * notice, this  list of conditions and the following disclaimer.
 *
 * Redistribution in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in
 * the documentation and/or other materials provided with the
 * distribution.
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED.  IN NO EVENT SHALL ETRG OR ITS CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL,SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * Contributors: Members of EdRP, Dayalbagh Educational Institute
 */



package in.ac.dei.edrp.generalLedger.definingCurrencies;





import java.util.List;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Component;

import com.ibatis.sqlmap.client.SqlMapClient;


@Component
@Qualifier("definingCurrenciesDaoImpl")
public class definingCurrenciesDaoImpl extends SqlMapClientDaoSupport implements definingCurrenciesDao {

	private static Logger logObj = Logger.getLogger(definingCurrenciesDaoImpl.class);
	
	definingCurrenciesDaoImpl(){}
	@Autowired
	
	public definingCurrenciesDaoImpl(SqlMapClient sqlMapClient)
	   {
		    setSqlMapClient(sqlMapClient);
	   }
	
	public List<definingCurrenciesBean> getAllCurrencies() {
		
		List<definingCurrenciesBean> list = null;
		      try{
			            
		    	   list = getSqlMapClientTemplate().queryForList("definingCurrenciesSqlMap.getAllCurrencies");
			     }
		         catch(Exception e)
		              {
			              logObj.error("Error inside getAllCurrencies method of definingCurrenciesDaoImpl Class: ", e);
	             	  } 
			return list;
}
	
	public String setCurrency(definingCurrenciesBean bean,String flag)
	{
		String status = "" ;
		 try{
			
		 if (flag.equalsIgnoreCase("N"))
		 {
	         getSqlMapClient().insert("definingCurrenciesSqlMap.setCurrency", bean);
	         status = "insert";
		 }   
	     else if (flag.equalsIgnoreCase("M"))
	     {
	         getSqlMapClient().update("definingCurrenciesSqlMap.updateCurrency", bean);
	         status = "update";
	     }
	 }    catch(Exception ex)
        {
          status="Exception";
          logObj.info("Exception in setCurrency method");
          logObj.error(ex.getClass());
          System.out.println(ex);;
          status = ex.getClass().toString();
         
          }
	 return status;

	}
	
	public String deleteCurrency(definingCurrenciesBean bean)
	{
		String status = "" ;
		 try{
	         getSqlMapClient().delete("definingCurrenciesSqlMap.deleteCurrency", bean);
	         status = "delete";
		 }catch(Exception ex)
        { 
          status="Exception";
          logObj.info("Exception in deleteCurrency method");
          logObj.error(ex.getClass());
         
         
          }
	 return status;
	}
}
